Resource Usage Matrix in Object Identification and Design Transformation of Legacy Procedural Software
نویسندگان
چکیده
This paper provides a novel technique for object identification from legacy procedural software, which can also be applied in partitioning of classes in object oriented software systems. Currently there is a movement towards object oriented design and programming, from algorithmic decomposition, structured design and procedural implementation. It is more economic to restructure existing software into object oriented topology by identifying objects within the subject system than to redesign software starting from requirements. Such object identification relies upon program analysis and a study of inter component relationships. This paper initially provides a conceptual foundation for migration from procedural to object oriented software architecture for legacy software. It relies upon a view of software life cycle, in which all software development is considered to be evolutionary activity with re-engineering/restructuring as an important process applied repeatedly on the artefacts of development at various stages in this evolution. Secondly, it introduces a novel approach of viewing a procedural program from an object oriented perspective in which there is a single god class which has a large number of global variables & methods, supported by several user defined classes which have no behaviour but data definitions. This view, coupled with repeated restructuring, enables a seamless migration of behaviour from the god class to other classes using design transformation methods. This paper distinguishes between the processes of translation and transformation and states that these two are orthogonal to each other, thus enabling us to concentrate on design transformations to migrate from one design to another, leaving the language issues to be handled by translators. It describes some basic design transformations which permit partitioning of classes while preserving the system behaviour, enabling a series of heuristics to be used in conjunction with design transforms to migrate to a better software structure. The main contribution of this paper is in the proposal of a new algorithm for object identification called resource usage matrix, a visualisation of resource usage within the system for object identification. A case study in object identification is presented to highlight the usefulness of resource usage matrix in object identification.
منابع مشابه
Conceptual Foundations for the Design Transformation of Procedural Software to Object-Oriented Architecture
The movement from algorithmic decomposition, structured design and procedural implementation towards objectoriented design and programming has resulted in a growing need to restructure/re-engineer old programs which have a poor architecture in order to reap the benefits of this new technology. It is more economic to restructure existing software into an object-oriented topology by identifying o...
متن کاملIncremental Transformation of Procedural Systems to Object Oriented Platforms
Over the past years, the reengineering of legacy software systems to object oriented platforms has received significant attention. In this paper, we present a generic re-engineering source code transformation framework to support the incremental migration of such procedural legacy systems to object oriented platforms. First, a source code representation framework that uses a generic domain mode...
متن کاملSome Design Transforms
Migration from procedural architecture to object oriented architecture is possible through design transformations. This paper initially provides a conceptual foundation for migration from procedural to object oriented software architecture for legacy software. Firstly, it relies upon a view of software life cycle, in which all software development is considered to be evolutionary activity with ...
متن کاملA Template for Design Transform Specification
Migration from a procedural architecture to an objectoriented architecture is possible through an appropriate sequence of design transformations. This paper initially provides a conceptual foundation for migration from a procedural to an object-oriented software architecture for legacy software, which relies upon a view of the software life cycle, in which all software development is considered...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کامل